﻿using Microsoft.Xna.Framework;

using xEngine.DataTypes;

namespace xEngine.Input
{
    public class MouseMovedEventArgs : MouseEventArgs
    {
        #region Properties

        // Distance from last recorded mouse position
        public PointF Delta { get; private set; }
        // Sets whether or not the mouse should be reset to the screen center
        public bool ResetToCenter { get; set; }
        // Flag determining which buttons are pressed
        public MouseButton PressedButtons { get; set; }

        #endregion

        #region Constructors

        public MouseMovedEventArgs(Point position, PointF delta, MouseButton pressedButtons) : base(position)
        {
            Delta = delta;
            PressedButtons = pressedButtons;

            ResetToCenter = true;
        }

        #endregion

        #region Functions

        public override string ToString()
        {
            return base.ToString() + ", Delta = " + Delta + ", PressedButtons = " + PressedButtons + ", RtC = " + ResetToCenter;
        }

        #endregion
    }
}
